from django.db import models

#Student表
class Student(models.Model):
    class Meta:
        db_table = 'student'
        verbose_name = '学生表'

    SEX = ( (1,'男'),(2,'女') )
    
    STATUS = ( (1,'就读'),(2,'毕业'),(3,'结业'),(4,'休学'),(5,'退学') )

    #姓名字段 char类型
    name = models.CharField(max_length=20, verbose_name='学生姓名')
    #年龄字段 smallint类型
    age = models.SmallIntegerField(default=12, verbose_name='学生年龄')
    #性别字段 smallint类型
    sex = models.SmallIntegerField(default=1, choices=SEX, verbose_name='学生性别')
    #学号字段 char类型
    sid = models.CharField(max_length=10, unique=True, verbose_name='学生学号')
    #个人介绍字段 text类型
    introduction = models.TextField(blank=True, null=True, verbose_name='学生个人介绍')
    #班级字段 char类型
    className = models.CharField(db_column='class', max_length=20, verbose_name='学生班级')
    #学生状态字段 smallint类型
    status = models.SmallIntegerField(default=1, choices=STATUS, verbose_name='学生状态')
    #创建时间字段 datetime类型
    created_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
    #修改时间字段 datetime类型
    updated_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')

#######################################################################################
#Teacher表-主表和副表：1对1关系
#Teacher表-主表
class Teacher_main(models.Model):
    class Meta:
        db_table = 'teacher_main'
        verbose_name = '教师主表'

    SEX = ( (1,'男'),(2,'女') )

    #姓名字段 char类型
    name = models.CharField(max_length=20, verbose_name='教师姓名')
    #年龄字段 smallint类型
    age = models.SmallIntegerField(default=12, verbose_name='教师年龄')
    #性别字段 smallint类型
    sex = models.SmallIntegerField(default=1, choices=SEX, verbose_name='教师性别')
    #工号字段
    tid = models.CharField(max_length=10, unique=True, verbose_name='教师工号')

#Teacher表-副表
class Teacher_secondary(models.Model):
    class Meta:
        db_table = 'teacher_secondary'
        verbose_name = '教师副表'

    BACKGROUND = ( (1,'本科'),(2,'专科'),(3,'硕士研究生'),(4,'博士研究生') )

    #学历字段 char类型
    background = models.SmallIntegerField(default=2, choices=BACKGROUND,verbose_name='教师姓名')
    #任教年数字段 smallint类型
    experience = models.SmallIntegerField(default=0, verbose_name='教师任教年数')
    #任教科目 char类型
    subjects = models.CharField(max_length=20, verbose_name='教师任教科目')
    #联系电话 char类型
    tel = models.CharField(max_length=20, verbose_name='教师联系电话')
    #邮箱 char类型
    mail = models.CharField(max_length=30, verbose_name='教师邮箱')
    ###关联主表
    teacher = models.OneToOneField(Teacher_main, on_delete=models.CASCADE, related_name='profile')
